import ACCESS_ENUM from "@/access/accessEnum";

/**
 * 检查权限（当前用户是否拥有某个权限）
 * @param loginUser
 * @param needAccess
 */
const checkAccess = (loginUser: any, needAccess = ACCESS_ENUM.NOT_LOGIN) => {
  //获取当前用户拥有的权限（如果没有loginUser，则表示未登录）
  const loginUserAccess = loginUser?.userRole ?? ACCESS_ENUM.NOT_LOGIN;
  //如果权限为不需要登录
  if (needAccess === ACCESS_ENUM.NOT_LOGIN) {
    return true;
  }
  //如果用户登录了才能访问
  if (needAccess === ACCESS_ENUM.USER) {
    //如果用户没登陆，则表示无权限
    if (loginUserAccess === ACCESS_ENUM.NOT_LOGIN) {
      return false;
    }
  }
  //如果需要权限为管理员
  if (needAccess === ACCESS_ENUM.ADMIN) {
    //如果不为管理员，则表示无权限
    if (loginUserAccess !== ACCESS_ENUM.ADMIN) {
      return false;
    }
  }
  return true;
};

export default checkAccess;
